-
Notifications
You must be signed in to change notification settings - Fork 150
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[WIP] Fix Hyperdisk ControllerExpandVolume Edge Cases #1899
base: master
Are you sure you want to change the base?
[WIP] Fix Hyperdisk ControllerExpandVolume Edge Cases #1899
Conversation
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: sunnylovestiramisu The full list of commands accepted by this bot can be found here. The pull request process is described here
Needs approval from an approver in each of these files:
Approvers can indicate their approval by writing |
77e2879
to
c896c61
Compare
/test pull-gcp-compute-persistent-disk-csi-driver-unit |
Can you expand on the release notes with the specific sizes (the 4, 5 and 6 G thresholds that you mention above)? It's handy to have those specifics in the release notes that go out with the new version. |
pkg/common/parameters.go
Outdated
@@ -134,6 +134,7 @@ type ParameterProcessor struct { | |||
type ModifyVolumeParameters struct { | |||
IOPS *int64 | |||
Throughput *int64 | |||
SizeGb *int64 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
As discussed offline, doing a size change in modify volume will cause problems because there's no node rpc to update the filesystem?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Oh, I see, you're just using this in controller expand volume.
I think we at least need a comment that this is only used in that RPC so there's no future confusion.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I also need to change the current implementation of the GCE Update Disk, there is a restriction right now that the request has to pass in one of iops or throughput, while it can take sizeGb without any iops/throughput. And we will move the iops/throughput check in the actual ControllerModifyVolume func.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hmm it turns out to be more complicated, because currently we have resizeZonalDisk + resizeRegionDisk, but for update we only have updateZonalDisk.
c896c61
to
93de915
Compare
98f1959
to
7350edf
Compare
/test pull-gcp-compute-persistent-disk-csi-driver-e2e |
7350edf
to
1849a7c
Compare
68aef8d
to
526deb2
Compare
88259a3
to
b42f936
Compare
/test pull-gcp-compute-persistent-disk-csi-driver-e2e |
b42f936
to
f26d093
Compare
@sunnylovestiramisu: The following test failed, say
Full PR test history. Your PR dashboard. Please help us cut down on flakes by linking to an open issue when you hit one in your PR. Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. I understand the commands that are listed here. |
What type of PR is this?
/kind bug
What this PR does / why we need it:
A hyperdisk with size 4Gi needs exactly 2000 IOPS, and 5Gi needs exactly 2500 IOPS. Disks 6Gi and more need a minimum of 3000 IOPS. When resizing a hyperdisk, there is a need to update IOPS as well for some corner cases. Currently ControllerExpandVolume is failing for these edge cases.
The GCE disk update API does not support resizing async PD today. Even currently the PDCSI driver does not support resizing sync PDs, to make it a two way door, the proposal is:
Testing:
NUM_NODES=1 NODE_SIZE="n4-standard-4" MASTER_SIZE="n4-standard-4" NODE_DISK_TYPE="hyperdisk-balanced" kubetest --up
Which issue(s) this PR fixes:
Fixes #
Special notes for your reviewer:
Does this PR introduce a user-facing change?: